Marketers are continually seeking better ways to create, execute, and automate marketing and messaging campaigns with the goal of growing revenue and strengthening customer loyalty. A workflow engine such as a business process management (BPM) engine can be used to design and implement business execution actions, including such messaging and marketing campaigns. For example, a marketer can use a user interface to configure a BPM engine to progress through a series of connected workflow execution components. Some BPM engines allow the marketer to visually design, manage, and automate a multistage marketing program through a drag-and-drop user interface and a library of pre-built program operation and steering components that are used to progress through the multistage marketing program.
One aspect of such multistage marketing programs involves delivery of personalized messages (e.g., web page components, an advertising message, an email communication, a text message, a mobile message, etc.). In a conventional process for generating personalized messages, the marketer designs a template during a design phase for a personalized message that includes stock message sections and personalization sections. The stock message sections contain standardized portions that are the same for all recipients of the personalized message. The personalization sections include commands defined by the marketer that invoke queries to the marketer's relational database system so as to retrieve the marketer's recipient or audience data, which data is in turn used for generating personalized messages to be sent to the recipients in the audience. During a program execution phase, the workflow execution components will execute queries over recipient or audience records in a database, and use the retrieved data for populating any personalization sections of a template. The personalized messages are sent over the internet to the targeted recipients.
In some situations, marketers would like to control the execution of one or more marketing campaigns based on then-current real-time conditions (e.g., to take alternative execution paths based on then-current conditions). Prior attempts to provide the marketer a way to describe such condition (e.g., through a drag-and-drop user interface and a library of pre-built program templates for steering) have been limited in their function and benefit. What is needed is a technique or techniques to improve over legacy approaches.